package com.bw.zonghe0719.utils

import android.content.Context
import com.alibaba.android.arouter.facade.Postcard
import com.alibaba.android.arouter.facade.annotation.Interceptor
import com.alibaba.android.arouter.facade.callback.InterceptorCallback
import com.alibaba.android.arouter.facade.template.IInterceptor
import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.SPUtils

/**
 * ARouter登录拦截器
 */
@Interceptor(priority = 1)//设置优先级   数字越小优先级越高
class LoginInterceptor :IInterceptor{
    override fun init(context: Context?) {
        //初始化  一般不做额外操作
    }
    //拦截处理操作  必须设置跳转到某界面
    //条件1:需要登录的界面(默认除了登录注册外 其他页面均需登录(用户协议  隐私政策 不需要))
    //条件2:是否登录(SP中是否存在token值)
    override fun process(postcard: Postcard?, callback: InterceptorCallback?) {
        if("/app/Login/LoginActivity".equals(postcard?.path)||"/app/utils/WebViewActivity".equals(postcard?.path)||SPUtils.getInstance().getString("token").isNotEmpty()){
            //这些情况不需要跳转到登录页面
            callback?.onContinue(postcard)
        }else{
            //其他需要跳转到登录页面
            ARouter.getInstance().build("/app/Login/LoginActivity").navigation()
        }
    }
}